The following table shows the features of Bochs and which platforms they currently work with.
Table 1-1. Bochs Features
Feature | Supported? | Description |
---|---|---|
configure script | Yes | Bochs uses GNU autoconf to configure Makefiles and headers. Autoconf helps Bochs to compile on a wide variety of platforms. |
386,486,Pentium Emulation | Yes | Bochs can be configured to emulate on of several families of Intel hardware. Some Pentium features are supported, such as the Time Stamp Counter. |
Pentium Pro Emulation | Incomplete | A few Pentium Pro features are supported, such as an on-chip APIC for SMP simulation. |
Command Line Debugger | Yes | Powerful command line debugger (optional) that lets you stop execution and examine registers and memory, set breakpoints, etc. |
Floating Point | Yes | Uses software floating point routines written by Bill Metzenthen |
Enhanced BIOS | Yes | Implements ElTorito, EDD v3.0, PCI32 directory service specifications |
VGA | Yes | VGA color graphics emulation in a window |
VESA (Display) Support | Yes | Currently resolutions up to 1024x768x32bpp are supported. You must compile Bochs with vbe enabled and use the LGPL'ed VGABIOS. |
Floppy disk | Yes | Supports floppy disk images on all platforms: 2.88M 3.5", 1.44M 3.5", 1.2M 5.25", and 720K 3.5". On Unix and Windows XP/NT/2000, Bochs can access the physical floppy drive. |
Multiple ATA channels | Yes | Emulates up to 4 ATA channels. Up to 8 ATA/ATAPI emulated devices can be attached, two per ATA channel. So you can have eight hard disks or seven hard disks and a cdrom or four hard disks and four cdroms, or one hard disk and seven cdroms, etc... |
Hard disk | Yes | Emulates ATA-2/IDE hard drives via image files. Physical hard disk access is supported on some architecture, but NOT recommended, primarily for safety reasons. Hard disk up to 32GB are supported, on any platform that support large files access. |
CDROM | Yes | Emulates ATAPI-4/IDE CDROM. The CDROMs can read from an ISO disk image on any platform. On Windows (9x/ME/NT/2000/XP), Linux, SunOS, FreeBSD, NetBSD, OpenBSD, Amiga/MorphOS, MacOSX and BeOS, Bochs can read from the physical cdrom. Starting with version 1.4, Bochs is even able to boot from a bootable cd or bootable iso image. |
Keyboard | Yes | Emulates a PS/2 keyboard with North American key mappings. Optional keyboard layout remapping files are provided to support localized keyboard in X11 (german, french, italian, spanish, danish, swedish) |
Mouse | Yes | Emulates a PS/2 mouse with 2 buttons. |
Sound Blaster | Yes | Emulates a Sound Blaster 16 card. On Windows, Linux, and FreeBSD you can send the output to your host computer's sound system. On MacOSX, this is not supported yet. |
Network card | Yes | Emulates an NE2000 compatible network card. On Windows NT/2000, Linux, FreeBSD, and NetBSD, Bochs will forward packets to and from the operating system so that the guest OS can talk on the physical network. Unfortunately, on some platforms the guest OS can talk to any machine on the network BUT NOT the host machine. On Windows and on systems that allow the TAP or TUN/TAP interface, there is no such limitation. Often the host machine may be configured so the guest OS has access to the internet. On MacOSX, it is not possible yet to forward packets between the guest and the host. |
Parallel Port | Yes | Parallel port emulation was added by Volker Ruppert for Bochs 1.3. Data that is sent to the parallel port by the guest OS can be saved into a file or sent directly into the parallel port device (Unix only). |
Serial Port | Yes | The serial port (single 16550A UART emulation) is usable, on GNU/Linux, NetBSD, OpenBSD, FreeBSD and MacOSX as host and guest. On other OSes the emulation is present, but the connection to hard- or software of the host is not implemented yet. |
Gameport | Yes | Emulates a standard PC gameport. The connection to a real joystick is currently supported on Linux and win32 only. |
PCI | incomplete | The Host-to-PCI bridge, and Primary Memory Controller are available. However, PCI-to-IDE or other PCI cards are not implemented yet. |
USB | incomplete | The USB root hub is available, USB devices with access to real hardware are not implemented yet. |
Plugins | Yes | Plugins are supported on Linux, MacOS X, Solaris, and Cygwin. |
16/32 bit addressing | Yes | 16 or 32 bit operand sizes, stack size, and addressing |
v8086/paging | Yes | Virtual-8086 mode and paging |
PIC | Yes | Master and slave programmable interrupt controller. |
CMOS functions | Yes | CMOS functions |
Dynamic Translation/Virtualization | No | Because Bochs is designed to be portable, it does not attempt to do any dynamic code translation or virtualization. See What is Bochs? for details. |
Simulate a Multiprocessor | Yes | Bochs can be configured to simulate up to 15 processors. This feature is still experimental, but it can boot Linux 2.2 kernels with SMP support. Please note that this does NOT mean that bochs can run faster on a physical SMP machine. |
Take advantage of your SMP box | No | At present, Bochs does not use threads or parallel processing, so it will not run any faster on multiprocessor hardware. |
Copy and Paste | Yes | Text-mode screen text can be exported to the clipboard. Text in the clipboard can also be pasted, through Bochs, to the guest OS, as simulated keystrokes. |